/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : m_sms.h                                                        |
| SOURCE  : "..\build\Hogwarts\LPR0\obj\cdginc\g23m-doc\doc\msg\sms.mdf"   |
| LastModified : "2004-09-24"                                              |
| IdAndVersion : "6147.607.97.102"                                         |
| SrcFileTime  : "Thu Jan 1 08:00:00 1970"                                 |
| Generated by CCDGEN_2.7.6 on Tue Jun 24 19:44:34 2008                    |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef M_SMS_H
#define M_SMS_H


#define CDG_ENTER__M_SMS_H

#define CDG_ENTER__FILENAME _M_SMS_H
#define CDG_ENTER__M_SMS_H__FILE_TYPE CDGINC
#define CDG_ENTER__M_SMS_H__LAST_MODIFIED _2004_09_24
#define CDG_ENTER__M_SMS_H__ID_AND_VERSION _6147_607_97_102

#define CDG_ENTER__M_SMS_H__SRC_FILE_TIME _Thu_Jan_1_08_00_00_1970

// #include "CDG_ENTER.h"

#undef CDG_ENTER__M_SMS_H

#undef CDG_ENTER__FILENAME


#include "tapi_m_sms_val.h"

/*
 * bitbuffer structure for the element tpdu
 */
#ifndef __T_BUF_tpdu__
#define __T_BUF_tpdu__
typedef struct
{
  U16 l_tpdu;
  U16 o_tpdu;
  U8  b_tpdu[168];
} BUF_tpdu; /* size <172> */
#endif
#ifndef __T_rp_cause__
#define __T_rp_cause__
/*
 * RP Cause
 * CCDGEN:WriteStruct_Count==237
 */
typedef struct
{
  U8                        v_rp_cause_value;         /*<  0:  1> valid-flag                                         */
  U8                        rp_cause_value;           /*<  1:  1> RP cause                                           */
  U8                        v_diag;                   /*<  2:  1> valid-flag                                         */
  U8                        c_diag;                   /*<  3:  1> counter                                            */
  U8                        diag[5];                  /*<  4:  5> Diagnostic field                                   */
  U8                        zzz_align0;               /*<  9:  1> alignment                                          */
  U8                        zzz_align1;               /*< 10:  1> alignment                                          */
  U8                        zzz_align2;               /*< 11:  1> alignment                                          */
} T_rp_cause;
#endif

#ifndef __T_rp_addr__
#define __T_rp_addr__
/*
 * RP Service Center Address
 * CCDGEN:WriteStruct_Count==238
 */
typedef struct
{
  U8                        v_ton;                    /*<  0:  1> valid-flag                                         */
  U8                        ton;                      /*<  1:  1> Type of number                                     */
  U8                        v_npi;                    /*<  2:  1> valid-flag                                         */
  U8                        npi;                      /*<  3:  1> Numbering plan identification                      */
  U8                        c_num;                    /*<  4:  1> counter                                            */
  U8                        num[MAX_SMS_ADDR_DIG];    /*<  5: 20> Number digit                                       */
  U8                        zzz_align0;               /*< 25:  1> alignment                                          */
  U8                        zzz_align1;               /*< 26:  1> alignment                                          */
  U8                        zzz_align2;               /*< 27:  1> alignment                                          */
} T_rp_addr;
#endif

#ifndef __T_rp_user_data__
#define __T_rp_user_data__
/*
 * RP-User Data
 * CCDGEN:WriteStruct_Count==239
 */
typedef struct
{
  U8                        tp_mti;                   /*<  0:  1> TP Message Type Indicator                          */
  U8                        zzz_align0;               /*<  1:  1> alignment                                          */
  U8                        zzz_align1;               /*<  2:  1> alignment                                          */
  U8                        v_tpdu;                   /*<  3:  1> valid-flag                                         */
  BUF_tpdu                  tpdu;                     /*<  4:172> TP Data Unit                                       */
} T_rp_user_data;
#endif

#ifndef __T_rp_ack__
#define __T_rp_ack__
/*
 * RP-ACK downlink / uplink
 * CCDGEN:WriteStruct_Count==240
 */
typedef struct
{
  U8                        zzz_align0;               /*<  0:  1> alignment                                          */
  U8                        zzz_align1;               /*<  1:  1> alignment                                          */
  U8                        zzz_align2;               /*<  2:  1> alignment                                          */
  U8                        v_rp_user_data;           /*<  3:  1> valid-flag                                         */
  T_rp_user_data            rp_user_data;             /*<  4:176> RP-User Data                                       */
} T_rp_ack;
#endif

#ifndef __T_rp_error__
#define __T_rp_error__
/*
 * RP-ERROR downlink / uplink
 * CCDGEN:WriteStruct_Count==241
 */
typedef struct
{
  T_rp_cause                rp_cause;                 /*<  0: 12> RP Cause                                           */
  U8                        zzz_align0;               /*< 12:  1> alignment                                          */
  U8                        zzz_align1;               /*< 13:  1> alignment                                          */
  U8                        zzz_align2;               /*< 14:  1> alignment                                          */
  U8                        v_rp_user_data;           /*< 15:  1> valid-flag                                         */
  T_rp_user_data            rp_user_data;             /*< 16:176> RP-User Data                                       */
} T_rp_error;
#endif

#ifndef __T_rp_data_dl__
#define __T_rp_data_dl__
/*
 * RP Data downlink
 * CCDGEN:WriteStruct_Count==242
 */
typedef struct
{
  T_rp_addr                 rp_addr;                  /*<  0: 28> RP Service Center Address                          */
  T_rp_user_data            rp_user_data;             /*< 28:176> RP-User Data                                       */
} T_rp_data_dl;
#endif

#ifndef __T_cp_user_data_dl__
#define __T_cp_user_data_dl__
/*
 * CP User Data downlink
 * CCDGEN:WriteStruct_Count==243
 */
typedef struct
{
  U8                        rp_mti;                   /*<  0:  1> Message Type Indicator                             */
  U8                        reference;                /*<  1:  1> Message Reference                                  */
  U8                        zzz_align0;               /*<  2:  1> alignment                                          */
  U8                        v_rp_data_dl;             /*<  3:  1> valid-flag                                         */
  T_rp_data_dl              rp_data_dl;               /*<  4:204> RP Data downlink                                   */
  U8                        zzz_align1;               /*<208:  1> alignment                                          */
  U8                        zzz_align2;               /*<209:  1> alignment                                          */
  U8                        zzz_align3;               /*<210:  1> alignment                                          */
  U8                        v_rp_error;               /*<211:  1> valid-flag                                         */
  T_rp_error                rp_error;                 /*<212:192> RP-ERROR downlink / uplink                         */
  U8                        zzz_align4;               /*<404:  1> alignment                                          */
  U8                        zzz_align5;               /*<405:  1> alignment                                          */
  U8                        zzz_align6;               /*<406:  1> alignment                                          */
  U8                        v_rp_ack;                 /*<407:  1> valid-flag                                         */
  T_rp_ack                  rp_ack;                   /*<408:180> RP-ACK downlink / uplink                           */
} T_cp_user_data_dl;
#endif

#ifndef __T_rp_data_ul__
#define __T_rp_data_ul__
/*
 * RP Data uplink
 * CCDGEN:WriteStruct_Count==244
 */
typedef struct
{
  T_rp_addr                 rp_addr;                  /*<  0: 28> RP Service Center Address                          */
  T_rp_user_data            rp_user_data;             /*< 28:176> RP-User Data                                       */
} T_rp_data_ul;
#endif

#ifndef __T_cp_user_data_ul__
#define __T_cp_user_data_ul__
/*
 * CP User Data Uplink
 * CCDGEN:WriteStruct_Count==245
 */
typedef struct
{
  U8                        rp_mti;                   /*<  0:  1> Message Type Indicator                             */
  U8                        reference;                /*<  1:  1> Message Reference                                  */
  U8                        zzz_align0;               /*<  2:  1> alignment                                          */
  U8                        v_rp_data_ul;             /*<  3:  1> valid-flag                                         */
  T_rp_data_ul              rp_data_ul;               /*<  4:204> RP Data uplink                                     */
  U8                        zzz_align1;               /*<208:  1> alignment                                          */
  U8                        zzz_align2;               /*<209:  1> alignment                                          */
  U8                        zzz_align3;               /*<210:  1> alignment                                          */
  U8                        v_rp_error;               /*<211:  1> valid-flag                                         */
  T_rp_error                rp_error;                 /*<212:192> RP-ERROR downlink / uplink                         */
  U8                        zzz_align4;               /*<404:  1> alignment                                          */
  U8                        zzz_align5;               /*<405:  1> alignment                                          */
  U8                        zzz_align6;               /*<406:  1> alignment                                          */
  U8                        v_rp_ack;                 /*<407:  1> valid-flag                                         */
  T_rp_ack                  rp_ack;                   /*<408:180> RP-ACK downlink / uplink                           */
} T_cp_user_data_ul;
#endif

#ifndef __T_tp_cd__
#define __T_tp_cd__
/*
 * TP Command Data
 * CCDGEN:WriteStruct_Count==246
 */
typedef struct
{
  U8                        c_data;                   /*<  0:  1> counter                                            */
  U8                        data[MAX_SMS_DATA_LEN];   /*<  1:160> Data                                               */
  U8                        zzz_align0;               /*<161:  1> alignment                                          */
  U8                        zzz_align1;               /*<162:  1> alignment                                          */
  U8                        zzz_align2;               /*<163:  1> alignment                                          */
} T_tp_cd;
#endif

/*
 * TP User Data Header
 * CCDGEN:WriteStruct_Count==247
 */
#ifndef __T_tp_udh__
#define __T_tp_udh__
typedef T_tp_cd T_tp_udh;
#endif
#ifndef __T_tp_da__
#define __T_tp_da__
/*
 * TP Destination Address
 * CCDGEN:WriteStruct_Count==248
 */
typedef struct
{
  U8                        digits;                   /*<  0:  1> Digits                                             */
  U8                        ton;                      /*<  1:  1> Type of number                                     */
  U8                        npi;                      /*<  2:  1> Numbering plan identification                      */
  U8                        c_num;                    /*<  3:  1> counter                                            */
  U8                        num[MAX_SMS_ADDR_DIG];    /*<  4: 20> Number digit                                       */
} T_tp_da;
#endif

/*
 * TP Originating Address
 * CCDGEN:WriteStruct_Count==249
 */
#ifndef __T_tp_oa__
#define __T_tp_oa__
typedef T_tp_da T_tp_oa;
#endif
/*
 * TP Recipient Address
 * CCDGEN:WriteStruct_Count==250
 */
#ifndef __T_tp_ra__
#define __T_tp_ra__
typedef T_tp_da T_tp_ra;
#endif
#ifndef __T_tp_vp_abs__
#define __T_tp_vp_abs__
/*
 * TP Validity Period (Absolute Format)
 * CCDGEN:WriteStruct_Count==251
 */
typedef struct
{
  U8                        year[2];                  /*<  0:  2>                                                    */
  U8                        month[2];                 /*<  2:  2>                                                    */
  U8                        day[2];                   /*<  4:  2>                                                    */
  U8                        hour[2];                  /*<  6:  2>                                                    */
  U8                        minute[2];                /*<  8:  2>                                                    */
  U8                        second[2];                /*< 10:  2>                                                    */
  U8                        tz_lsb;                   /*< 12:  1> Time Zone, LSB                                     */
  U8                        tz_sign;                  /*< 13:  1> Time Zone, sign                                    */
  U8                        tz_msb;                   /*< 14:  1> Time Zone, MSB                                     */
  U8                        zzz_align0;               /*< 15:  1> alignment                                          */
} T_tp_vp_abs;
#endif

/*
 * TP Service Centre Time Stamp
 * CCDGEN:WriteStruct_Count==252
 */
#ifndef __T_tp_scts__
#define __T_tp_scts__
typedef T_tp_vp_abs T_tp_scts;
#endif
/*
 * TP Discharge Time
 * CCDGEN:WriteStruct_Count==253
 */
#ifndef __T_tp_dt__
#define __T_tp_dt__
typedef T_tp_vp_abs T_tp_dt;
#endif
#ifndef __T_tp_vp_enh__
#define __T_tp_vp_enh__
/*
 * TP Validity Period (Enhanced Format)
 * CCDGEN:WriteStruct_Count==254
 */
typedef struct
{
  U8                        tp_ext;                   /*<  0:  1> Extension Control Bit                              */
  U8                        tp_ss;                    /*<  1:  1> Single Shot Bit                                    */
  U8                        tvpf;                     /*<  2:  1> Type of Validity Period Format                     */
  U8                        v_tp_rsrvd;               /*<  3:  1> valid-flag                                         */
  U8                        tp_rsrvd;                 /*<  4:  1> Extension Octet                                    */
  U8                        v_tp_vp_rel;              /*<  5:  1> valid-flag                                         */
  U8                        tp_vp_rel;                /*<  6:  1> TP Validity Period Relative                        */
  U8                        v_tp_vp_sec;              /*<  7:  1> valid-flag                                         */
  U8                        tp_vp_sec;                /*<  8:  1> Validity period in seconds                         */
  U8                        v_hour;                   /*<  9:  1> valid-flag                                         */
  U8                        hour[2];                  /*< 10:  2>                                                    */
  U8                        v_minute;                 /*< 12:  1> valid-flag                                         */
  U8                        minute[2];                /*< 13:  2>                                                    */
  U8                        v_second;                 /*< 15:  1> valid-flag                                         */
  U8                        second[2];                /*< 16:  2>                                                    */
  U8                        zzz_align0;               /*< 18:  1> alignment                                          */
  U8                        zzz_align1;               /*< 19:  1> alignment                                          */
} T_tp_vp_enh;
#endif

#ifndef __T_tp_ud__
#define __T_tp_ud__
/*
 * TP User Data
 * CCDGEN:WriteStruct_Count==255
 */
typedef struct
{
  U8                        length;                   /*<  0:  1> Length                                             */
  U8                        c_data;                   /*<  1:  1> counter                                            */
  U8                        data[MAX_SMS_DATA_LEN];   /*<  2:160> Data                                               */
  U8                        zzz_align0;               /*<162:  1> alignment                                          */
  U8                        zzz_align1;               /*<163:  1> alignment                                          */
} T_tp_ud;
#endif

#ifndef __T_tp_udh_inc__
#define __T_tp_udh_inc__
/*
 * TP User Data with Header
 * CCDGEN:WriteStruct_Count==256
 */
typedef struct
{
  U8                        length;                   /*<  0:  1> Length                                             */
  U8                        zzz_align0;               /*<  1:  1> alignment                                          */
  U8                        zzz_align1;               /*<  2:  1> alignment                                          */
  U8                        zzz_align2;               /*<  3:  1> alignment                                          */
  T_tp_udh                  tp_udh;                   /*<  4:164> TP User Data Header                                */
  U8                        c_data;                   /*<168:  1> counter                                            */
  U8                        data[MAX_SMS_DATA_LEN];   /*<169:160> Data                                               */
  U8                        zzz_align3;               /*<329:  1> alignment                                          */
  U8                        zzz_align4;               /*<330:  1> alignment                                          */
  U8                        zzz_align5;               /*<331:  1> alignment                                          */
} T_tp_udh_inc;
#endif

#ifndef __T_tp_cdh_inc__
#define __T_tp_cdh_inc__
/*
 * TP Command Data with Header
 * CCDGEN:WriteStruct_Count==257
 */
typedef struct
{
  T_tp_udh                  tp_udh;                   /*<  0:164> TP User Data Header                                */
  U8                        c_data;                   /*<164:  1> counter                                            */
  U8                        data[MAX_SMS_DATA_LEN];   /*<165:160> Data                                               */
  U8                        zzz_align0;               /*<325:  1> alignment                                          */
  U8                        zzz_align1;               /*<326:  1> alignment                                          */
  U8                        zzz_align2;               /*<327:  1> alignment                                          */
} T_tp_cdh_inc;
#endif


/*
 * End of substructure section, begin of message definition section
 */

#ifndef __T_B_CP_ACK__
#define __T_B_CP_ACK__
/*
 *
 * CCDGEN:WriteStruct_Count==258
 */
typedef struct
{
  U8                        msg_type;                 /*<  0:  1> CP Message Type                                    */
  U8                        zzz_align0;               /*<  1:  1> alignment                                          */
  U8                        zzz_align1;               /*<  2:  1> alignment                                          */
  U8                        zzz_align2;               /*<  3:  1> alignment                                          */
} T_B_CP_ACK;
#endif

#ifndef __T_D_CP_DATA__
#define __T_D_CP_DATA__
/*
 *
 * CCDGEN:WriteStruct_Count==259
 */
typedef struct
{
  U8                        msg_type;                 /*<  0:  1> CP Message Type                                    */
  U8                        zzz_align0;               /*<  1:  1> alignment                                          */
  U8                        zzz_align1;               /*<  2:  1> alignment                                          */
  U8                        zzz_align2;               /*<  3:  1> alignment                                          */
  T_cp_user_data_dl         cp_user_data_dl;          /*<  4:588> CP User Data downlink                              */
} T_D_CP_DATA;
#endif

#ifndef __T_U_CP_DATA__
#define __T_U_CP_DATA__
/*
 *
 * CCDGEN:WriteStruct_Count==260
 */
typedef struct
{
  U8                        msg_type;                 /*<  0:  1> CP Message Type                                    */
  U8                        zzz_align0;               /*<  1:  1> alignment                                          */
  U8                        zzz_align1;               /*<  2:  1> alignment                                          */
  U8                        zzz_align2;               /*<  3:  1> alignment                                          */
  T_cp_user_data_ul         cp_user_data_ul;          /*<  4:588> CP User Data Uplink                                */
} T_U_CP_DATA;
#endif

#ifndef __T_B_CP_ERROR__
#define __T_B_CP_ERROR__
/*
 *
 * CCDGEN:WriteStruct_Count==261
 */
typedef struct
{
  U8                        msg_type;                 /*<  0:  1> CP Message Type                                    */
  U8                        cp_cause;                 /*<  1:  1> CP cause                                           */
  U8                        zzz_align0;               /*<  2:  1> alignment                                          */
  U8                        zzz_align1;               /*<  3:  1> alignment                                          */
} T_B_CP_ERROR;
#endif

#ifndef __T_TP_DELIVER__
#define __T_TP_DELIVER__
/*
 *
 * CCDGEN:WriteStruct_Count==262
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_rp;                    /*<  1:  1> TP Reply Path                                      */
  U8                        tp_udhi;                  /*<  2:  1> TP User Data Header Indicator                      */
  U8                        tp_sri;                   /*<  3:  1> TP Status Report Indication                        */
  U8                        tp_mms;                   /*<  4:  1> TP More Messages To Send                           */
  U8                        tp_mti;                   /*<  5:  1> TP Message Type Indicator                          */
  U8                        zzz_align0;               /*<  6:  1> alignment                                          */
  U8                        zzz_align1;               /*<  7:  1> alignment                                          */
  T_tp_oa                   tp_oa;                    /*<  8: 24> TP Originating Address                             */
  U8                        tp_pid;                   /*< 32:  1> TP Protocol Identifier                             */
  U8                        tp_dcs;                   /*< 33:  1> TP Data Coding Scheme                              */
  U8                        zzz_align2;               /*< 34:  1> alignment                                          */
  U8                        zzz_align3;               /*< 35:  1> alignment                                          */
  T_tp_scts                 tp_scts;                  /*< 36: 16> TP Service Centre Time Stamp                       */
  U8                        zzz_align4;               /*< 52:  1> alignment                                          */
  U8                        zzz_align5;               /*< 53:  1> alignment                                          */
  U8                        zzz_align6;               /*< 54:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 55:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 56:164> TP User Data                                       */
  U8                        zzz_align7;               /*<220:  1> alignment                                          */
  U8                        zzz_align8;               /*<221:  1> alignment                                          */
  U8                        zzz_align9;               /*<222:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<223:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<224:332> TP User Data with Header                           */
} T_TP_DELIVER;
#endif

#ifndef __T_TP_DLVR_REP_ERR__
#define __T_TP_DLVR_REP_ERR__
/*
 *
 * CCDGEN:WriteStruct_Count==263
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_udhi;                  /*<  1:  1> TP User Data Header Indicator                      */
  U8                        tp_mti;                   /*<  2:  1> TP Message Type Indicator                          */
  U8                        tp_fcs;                   /*<  3:  1> TP Failure Cause                                   */
  U8                        tp_ext;                   /*<  4:  1> Extension Control Bit                              */
  U8                        tp_udl_p;                 /*<  5:  1> TP User Data present                               */
  U8                        tp_dcs_p;                 /*<  6:  1> TP User Data Header Indicator                      */
  U8                        tp_pid_p;                 /*<  7:  1> TP User Data Header Indicator                      */
  U8                        v_tp_rsrvd;               /*<  8:  1> valid-flag                                         */
  U8                        tp_rsrvd;                 /*<  9:  1> Extension Octet                                    */
  U8                        v_tp_pid;                 /*< 10:  1> valid-flag                                         */
  U8                        tp_pid;                   /*< 11:  1> TP Protocol Identifier                             */
  U8                        v_tp_dcs;                 /*< 12:  1> valid-flag                                         */
  U8                        tp_dcs;                   /*< 13:  1> TP Data Coding Scheme                              */
  U8                        zzz_align0;               /*< 14:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 15:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 16:164> TP User Data                                       */
  U8                        zzz_align1;               /*<180:  1> alignment                                          */
  U8                        zzz_align2;               /*<181:  1> alignment                                          */
  U8                        zzz_align3;               /*<182:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<183:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<184:332> TP User Data with Header                           */
} T_TP_DLVR_REP_ERR;
#endif

#ifndef __T_TP_DLVR_REP_ACK__
#define __T_TP_DLVR_REP_ACK__
/*
 *
 * CCDGEN:WriteStruct_Count==264
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_udhi;                  /*<  1:  1> TP User Data Header Indicator                      */
  U8                        tp_mti;                   /*<  2:  1> TP Message Type Indicator                          */
  U8                        tp_ext;                   /*<  3:  1> Extension Control Bit                              */
  U8                        tp_udl_p;                 /*<  4:  1> TP User Data present                               */
  U8                        tp_dcs_p;                 /*<  5:  1> TP User Data Header Indicator                      */
  U8                        tp_pid_p;                 /*<  6:  1> TP User Data Header Indicator                      */
  U8                        v_tp_rsrvd;               /*<  7:  1> valid-flag                                         */
  U8                        tp_rsrvd;                 /*<  8:  1> Extension Octet                                    */
  U8                        v_tp_pid;                 /*<  9:  1> valid-flag                                         */
  U8                        tp_pid;                   /*< 10:  1> TP Protocol Identifier                             */
  U8                        v_tp_dcs;                 /*< 11:  1> valid-flag                                         */
  U8                        tp_dcs;                   /*< 12:  1> TP Data Coding Scheme                              */
  U8                        zzz_align0;               /*< 13:  1> alignment                                          */
  U8                        zzz_align1;               /*< 14:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 15:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 16:164> TP User Data                                       */
  U8                        zzz_align2;               /*<180:  1> alignment                                          */
  U8                        zzz_align3;               /*<181:  1> alignment                                          */
  U8                        zzz_align4;               /*<182:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<183:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<184:332> TP User Data with Header                           */
} T_TP_DLVR_REP_ACK;
#endif

#ifndef __T_TP_SUBMIT__
#define __T_TP_SUBMIT__
/*
 *
 * CCDGEN:WriteStruct_Count==265
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_rp;                    /*<  1:  1> TP Reply Path                                      */
  U8                        tp_udhi;                  /*<  2:  1> TP User Data Header Indicator                      */
  U8                        tp_srr;                   /*<  3:  1> TP Status Report Request                           */
  U8                        tp_vpf;                   /*<  4:  1> TP Validity Period Format                          */
  U8                        tp_rd;                    /*<  5:  1> TP Reject Duplicates                               */
  U8                        tp_mti;                   /*<  6:  1> TP Message Type Indicator                          */
  U8                        tp_mr;                    /*<  7:  1> TP Message Reference                               */
  T_tp_da                   tp_da;                    /*<  8: 24> TP Destination Address                             */
  U8                        tp_pid;                   /*< 32:  1> TP Protocol Identifier                             */
  U8                        tp_dcs;                   /*< 33:  1> TP Data Coding Scheme                              */
  U8                        zzz_align0;               /*< 34:  1> alignment                                          */
  U8                        v_tp_vp_enh;              /*< 35:  1> valid-flag                                         */
  T_tp_vp_enh               tp_vp_enh;                /*< 36: 20> TP Validity Period (Enhanced Format)               */
  U8                        v_tp_vp_rel;              /*< 56:  1> valid-flag                                         */
  U8                        tp_vp_rel;                /*< 57:  1> TP Validity Period Relative                        */
  U8                        zzz_align1;               /*< 58:  1> alignment                                          */
  U8                        v_tp_vp_abs;              /*< 59:  1> valid-flag                                         */
  T_tp_vp_abs               tp_vp_abs;                /*< 60: 16> TP Validity Period (Absolute Format)               */
  U8                        zzz_align2;               /*< 76:  1> alignment                                          */
  U8                        zzz_align3;               /*< 77:  1> alignment                                          */
  U8                        zzz_align4;               /*< 78:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 79:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 80:164> TP User Data                                       */
  U8                        zzz_align5;               /*<244:  1> alignment                                          */
  U8                        zzz_align6;               /*<245:  1> alignment                                          */
  U8                        zzz_align7;               /*<246:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<247:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<248:332> TP User Data with Header                           */
} T_TP_SUBMIT;
#endif

#ifndef __T_TP_SBMT_REP_ERR__
#define __T_TP_SBMT_REP_ERR__
/*
 *
 * CCDGEN:WriteStruct_Count==266
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_udhi;                  /*<  1:  1> TP User Data Header Indicator                      */
  U8                        tp_mti;                   /*<  2:  1> TP Message Type Indicator                          */
  U8                        tp_fcs;                   /*<  3:  1> TP Failure Cause                                   */
  U8                        tp_ext;                   /*<  4:  1> Extension Control Bit                              */
  U8                        tp_udl_p;                 /*<  5:  1> TP User Data present                               */
  U8                        tp_dcs_p;                 /*<  6:  1> TP User Data Header Indicator                      */
  U8                        tp_pid_p;                 /*<  7:  1> TP User Data Header Indicator                      */
  U8                        v_tp_rsrvd;               /*<  8:  1> valid-flag                                         */
  U8                        tp_rsrvd;                 /*<  9:  1> Extension Octet                                    */
  U8                        v_tp_pid;                 /*< 10:  1> valid-flag                                         */
  U8                        tp_pid;                   /*< 11:  1> TP Protocol Identifier                             */
  U8                        v_tp_dcs;                 /*< 12:  1> valid-flag                                         */
  U8                        tp_dcs;                   /*< 13:  1> TP Data Coding Scheme                              */
  U8                        zzz_align0;               /*< 14:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 15:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 16:164> TP User Data                                       */
  U8                        zzz_align1;               /*<180:  1> alignment                                          */
  U8                        zzz_align2;               /*<181:  1> alignment                                          */
  U8                        zzz_align3;               /*<182:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<183:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<184:332> TP User Data with Header                           */
} T_TP_SBMT_REP_ERR;
#endif

#ifndef __T_TP_SBMT_REP_ACK__
#define __T_TP_SBMT_REP_ACK__
/*
 *
 * CCDGEN:WriteStruct_Count==267
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_udhi;                  /*<  1:  1> TP User Data Header Indicator                      */
  U8                        tp_mti;                   /*<  2:  1> TP Message Type Indicator                          */
  U8                        tp_ext;                   /*<  3:  1> Extension Control Bit                              */
  U8                        tp_udl_p;                 /*<  4:  1> TP User Data present                               */
  U8                        tp_dcs_p;                 /*<  5:  1> TP User Data Header Indicator                      */
  U8                        tp_pid_p;                 /*<  6:  1> TP User Data Header Indicator                      */
  U8                        v_tp_rsrvd;               /*<  7:  1> valid-flag                                         */
  U8                        tp_rsrvd;                 /*<  8:  1> Extension Octet                                    */
  U8                        zzz_align0;               /*<  9:  1> alignment                                          */
  U8                        zzz_align1;               /*< 10:  1> alignment                                          */
  U8                        zzz_align2;               /*< 11:  1> alignment                                          */
  T_tp_scts                 tp_scts;                  /*< 12: 16> TP Service Centre Time Stamp                       */
  U8                        v_tp_pid;                 /*< 28:  1> valid-flag                                         */
  U8                        tp_pid;                   /*< 29:  1> TP Protocol Identifier                             */
  U8                        v_tp_dcs;                 /*< 30:  1> valid-flag                                         */
  U8                        tp_dcs;                   /*< 31:  1> TP Data Coding Scheme                              */
  U8                        zzz_align3;               /*< 32:  1> alignment                                          */
  U8                        zzz_align4;               /*< 33:  1> alignment                                          */
  U8                        zzz_align5;               /*< 34:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 35:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 36:164> TP User Data                                       */
  U8                        zzz_align6;               /*<200:  1> alignment                                          */
  U8                        zzz_align7;               /*<201:  1> alignment                                          */
  U8                        zzz_align8;               /*<202:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<203:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<204:332> TP User Data with Header                           */
} T_TP_SBMT_REP_ACK;
#endif

#ifndef __T_TP_STATUS__
#define __T_TP_STATUS__
/*
 *
 * CCDGEN:WriteStruct_Count==268
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_udhi;                  /*<  1:  1> TP User Data Header Indicator                      */
  U8                        tp_srq;                   /*<  2:  1> TP Status Report Qualifier                         */
  U8                        tp_mms;                   /*<  3:  1> TP More Messages To Send                           */
  U8                        tp_mti;                   /*<  4:  1> TP Message Type Indicator                          */
  U8                        tp_mr;                    /*<  5:  1> TP Message Reference                               */
  U8                        zzz_align0;               /*<  6:  1> alignment                                          */
  U8                        zzz_align1;               /*<  7:  1> alignment                                          */
  T_tp_ra                   tp_ra;                    /*<  8: 24> TP Recipient Address                               */
  T_tp_scts                 tp_scts;                  /*< 32: 16> TP Service Centre Time Stamp                       */
  T_tp_dt                   tp_dt;                    /*< 48: 16> TP Discharge Time                                  */
  U8                        tp_st;                    /*< 64:  1> TP Status                                          */
  U8                        v_tp_udl_p;               /*< 65:  1> valid-flag                                         */
  U8                        tp_udl_p;                 /*< 66:  1> TP User Data present                               */
  U8                        v_tp_dcs_p;               /*< 67:  1> valid-flag                                         */
  U8                        tp_dcs_p;                 /*< 68:  1> TP User Data Header Indicator                      */
  U8                        v_tp_pid_p;               /*< 69:  1> valid-flag                                         */
  U8                        tp_pid_p;                 /*< 70:  1> TP User Data Header Indicator                      */
  U8                        v_tp_rsrvd;               /*< 71:  1> valid-flag                                         */
  U8                        tp_rsrvd;                 /*< 72:  1> Extension Octet                                    */
  U8                        v_tp_pid;                 /*< 73:  1> valid-flag                                         */
  U8                        tp_pid;                   /*< 74:  1> TP Protocol Identifier                             */
  U8                        v_tp_dcs;                 /*< 75:  1> valid-flag                                         */
  U8                        tp_dcs;                   /*< 76:  1> TP Data Coding Scheme                              */
  U8                        zzz_align2;               /*< 77:  1> alignment                                          */
  U8                        zzz_align3;               /*< 78:  1> alignment                                          */
  U8                        v_tp_ud;                  /*< 79:  1> valid-flag                                         */
  T_tp_ud                   tp_ud;                    /*< 80:164> TP User Data                                       */
  U8                        zzz_align4;               /*<244:  1> alignment                                          */
  U8                        zzz_align5;               /*<245:  1> alignment                                          */
  U8                        zzz_align6;               /*<246:  1> alignment                                          */
  U8                        v_tp_udh_inc;             /*<247:  1> valid-flag                                         */
  T_tp_udh_inc              tp_udh_inc;               /*<248:332> TP User Data with Header                           */
} T_TP_STATUS;
#endif

#ifndef __T_TP_COMMAND__
#define __T_TP_COMMAND__
/*
 *
 * CCDGEN:WriteStruct_Count==269
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        tp_udhi;                  /*<  1:  1> TP User Data Header Indicator                      */
  U8                        tp_srr;                   /*<  2:  1> TP Status Report Request                           */
  U8                        tp_mti;                   /*<  3:  1> TP Message Type Indicator                          */
  U8                        tp_mr;                    /*<  4:  1> TP Message Reference                               */
  U8                        tp_pid;                   /*<  5:  1> TP Protocol Identifier                             */
  U8                        tp_ct;                    /*<  6:  1> TP Command Type                                    */
  U8                        tp_mn;                    /*<  7:  1> TP Message Number                                  */
  T_tp_da                   tp_da;                    /*<  8: 24> TP Destination Address                             */
  U8                        zzz_align0;               /*< 32:  1> alignment                                          */
  U8                        zzz_align1;               /*< 33:  1> alignment                                          */
  U8                        zzz_align2;               /*< 34:  1> alignment                                          */
  U8                        v_tp_cd;                  /*< 35:  1> valid-flag                                         */
  T_tp_cd                   tp_cd;                    /*< 36:164> TP Command Data                                    */
  U8                        zzz_align3;               /*<200:  1> alignment                                          */
  U8                        zzz_align4;               /*<201:  1> alignment                                          */
  U8                        zzz_align5;               /*<202:  1> alignment                                          */
  U8                        v_tp_cdh_inc;             /*<203:  1> valid-flag                                         */
  T_tp_cdh_inc              tp_cdh_inc;               /*<204:328> TP Command Data with Header                        */
} T_TP_COMMAND;
#endif

#ifndef __T_SIM_PDU__
#define __T_SIM_PDU__
/*
 *
 * CCDGEN:WriteStruct_Count==270
 */
typedef struct
{
  U8                        tp_vt_mti;                /*<  0:  1> Virtual TP Message Type                            */
  U8                        zzz_align0;               /*<  1:  1> alignment                                          */
  U8                        zzz_align1;               /*<  2:  1> alignment                                          */
  U8                        zzz_align2;               /*<  3:  1> alignment                                          */
  T_rp_addr                 rp_addr;                  /*<  4: 28> RP Service Center Address                          */
  U8                        tp_mti;                   /*< 32:  1> TP Message Type Indicator                          */
  U8                        zzz_align3;               /*< 33:  1> alignment                                          */
  U8                        zzz_align4;               /*< 34:  1> alignment                                          */
  U8                        v_tpdu;                   /*< 35:  1> valid-flag                                         */
  BUF_tpdu                  tpdu;                     /*< 36:172> TP Data Unit                                       */
} T_SIM_PDU;
#endif


// #include "CDG_LEAVE.h"


#endif

